package com.zh.work.entity.channel;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

@ApiModel("二维码渠道管理信息实体类")
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("channel_qrcode")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ChannelQrCodeEntity extends Model<ChannelQrCodeEntity> {

    private static final long serialVersionUID = -1654355208702431300L;

    @ApiModelProperty(value = "主键", name = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "逻辑删除字段", name = "deleted")
    @TableLogic
    private Integer deleted;
    @ApiModelProperty(value = "渠道编码", name = "channelCode")
    private String channelCode;
    @ApiModelProperty(value = "渠道名称", name = "channelName")
    private String channelName;
    @ApiModelProperty(value = "渠道费率", name = "channelFee")
    private Float channelFee;
    @ApiModelProperty(value = "渠道地址", name = "channelAddress")
    private String channelAddress;
    @ApiModelProperty(value = "渠道返回地址", name = "returnAddress")
    private String returnAddress;
    @ApiModelProperty(value = "微信费率", name = "rateWx")
    private Float rateWx;
    @ApiModelProperty(value = "支付宝费率", name = "rateZfb")
    private Float rateZfb;
    @ApiModelProperty(value = "QQ钱宝费率", name = "rateQq")
    private Float rateQq;
    @ApiModelProperty(value = "百度钱宝费率", name = "rateBd")
    private Float rateBd;
    @ApiModelProperty(value = "京东钱宝费率", name = "rateJd")
    private Float rateJd;
    @ApiModelProperty(value = "状态(1-启用 2-禁用)", name = "status")
    private Integer status;
    @ApiModelProperty(value = "是否开通微信(1-开通 2-关闭)", name = "enableWx")
    private Integer enableWx;
    @ApiModelProperty(value = "是否开通支付宝(1-开通 2-关闭)", name = "enableZfb")
    private Integer enableZfb;
    @ApiModelProperty(value = "是否开通百度钱包(1-开通 2-关闭)", name = "enableBd")
    private Integer enableBd;
    @ApiModelProperty(value = "是否开通QQ钱包(1-开通 2-关闭)", name = "enableQq")
    private Integer enableQq;
    @ApiModelProperty(value = "是否开通京东钱包(1-开通 2-关闭)", name = "enableJd")
    private Integer enableJd;
    @ApiModelProperty(value = "扫码方式(0-不支持 1-主扫 2-被扫)", name = "scanWx")
    private Integer scanWx;
    @ApiModelProperty(value = "扫码方式(0-不支持 1-主扫 2-被扫)", name = "scanZfb")
    private Integer scanZfb;
    @ApiModelProperty(value = "扫码方式(0-不支持 1-主扫 2-被扫)", name = "scanBd")
    private Integer scanBd;
    @ApiModelProperty(value = "扫码方式(0-不支持 1-主扫 2-被扫)", name = "scanQq")
    private Integer scanQq;
    @ApiModelProperty(value = "扫码方式(0-不支持 1-主扫 2-被扫)", name = "scanJd")
    private Integer scanJd;
    @ApiModelProperty(value = "计费方式(0-四舍五入 1-进一法 2-去尾法)", name = "calType")
    private Integer calType;
    @ApiModelProperty(value = "RSA公钥", name = "keyRsa")
    private String keyRsa;
    @ApiModelProperty(value = "MD5密钥", name = "keyMd5")
    private String keyMd5;
    @ApiModelProperty(value = "代理号", name = "agentno")
    @TableField(value = "agentno")
    private String agentNo;
    @ApiModelProperty(value = "通知地址", name = "notifyAddress")
    private String notifyAddress;
    @ApiModelProperty(value = "代付地址", name = "payAddress")
    private String payAddress;
    @ApiModelProperty(value = "备注信息", name = "remark")
    private String remark;
    @ApiModelProperty(value = "商户RSA私钥", name = "merchRsaKey")
    private String merchRsaKey;
    @ApiModelProperty(value = "支付通知地址", name = "payNotifyUrl")
    private String payNotifyUrl;
    @ApiModelProperty(value = "提现费", name = "withdrawal")
    private Float withdrawal;
    @ApiModelProperty(value = "应用编码", name = "appCode")
    private String appCode;
    @ApiModelProperty(value = "清算方式 1-平台清算 2-渠道清算", name = "liquidMode")
    private Long liquidMode;
    @ApiModelProperty(value = "清算类型 1-实时代付 2-虚拟账户", name = "liquidation")
    private Long liquidation;

    /* 二维码渠道绑定机构 关联表：qrcode_channel_branch */
    @ApiModelProperty(value = "机构编码", name = "branchNo")
    @TableField(value = "branchno")
    private String branchNo;


    @ApiModelProperty(value = "渠道成本JSON字符串", name = "qrCodeRateJson")
    @TableField(exist = false)
    private String qrCodeRateJson;

}
